library(readxl)
library(tidyverse)
sep02 <- read.csv("../data/clean_data/exp_water_02Sep21.csv")%>%
mutate(Day = as.Date("2021-09-02"))
sep07 <- read.csv("../data/clean_data/exp_water_07Sep21.csv")%>%
mutate(Day = as.Date("2021-09-07"))
sep08 <- read.csv("../data/clean_data/exp_water_08Sep21.csv")%>%
mutate(Day = as.Date("2021-09-08"))
sep09 <- read.csv("../data/clean_data/exp_water_09Sep21.csv")%>%
mutate(Day = as.Date("2021-09-09"))
aug31 <- read.csv("../data/clean_data/exp_water_31Aug21.csv")%>%
mutate(Day = as.Date("2021-08-31"))
full = sep02%>%
full_join(sep07)%>%
full_join(sep08)%>%
full_join(sep09)%>%
full_join(aug31)%>%
select(-Comments,-Type)%>%
filter(!grepl("spk|dup",Sample.ID))
Joining, by = c("Sample.ID", "Type", "WL562", "Comments", "Dilution", "Day")
Joining, by = c("Sample.ID", "Type", "WL562", "Dilution", "Day")
Joining, by = c("Sample.ID", "Type", "WL562", "Comments", "Dilution", "Day")
Joining, by = c("Sample.ID", "Type", "WL562", "Comments", "Dilution", "Day")
full[full$Sample.ID=="aor2d6s",]
full$Type = "Unknown"
full$Type[grepl("std", full$Sample.ID)]<-"Standard"
full$Conc[grepl("std", full$Sample.ID)] = as.numeric(sub("std","",full$Sample.ID[grepl("std", full$Sample.ID)]))
full$Treatment[!grepl("std", full$Sample.ID)] <- substr(full$Sample.ID[!grepl("std", full$Sample.ID)],1,2)
full$Sample_day[!grepl("std", full$Sample.ID)] <- as.numeric(sub("[a-z]+[0-9]+d","",sub("([a-z](_.+)*$)","",full$Sample.ID[!grepl("std", full$Sample.ID)])))
full$Rep[!grepl("std", full$Sample.ID)] <- as.numeric(substr(full$Sample.ID[!grepl("std", full$Sample.ID)],4,4))
full$filt[!grepl("std", full$Sample.ID)] <- sub("[a-z]+[0-9]+[a-z]+[0-9]+","",sub("_.+","",full$Sample.ID[!grepl("std", full$Sample.ID)]))
full$Dilution[is.na(full$Dilution)]<-0
full_conc = full%>%
filter(Type!="Standard",
!duplicated(Sample.ID))%>%
filter(Sample_day != 0)%>%
select(-Sample.ID, -Conc)
for(day in unique(full$Day)){
if(day == as.Date("2021-09-07")){
r = full%>%
filter(Day == day)
}else{
r = full%>%
filter(Day == day,
Conc != 1185.8)
}
coef = lm(r$Conc~0+r$WL562)
sum = summary(coef)
print(paste0(day," r: adjusted r2 = ",sum$adj.r.squared))
full_conc$Conc <- coef$coefficients*full_conc$WL562
}
[1] "18872 r: adjusted r2 = 0.997542911888815"
[1] "18877 r: adjusted r2 = 0.994633540317922"
[1] "18878 r: adjusted r2 = 0.998401113078838"
[1] "18879 r: adjusted r2 = 0.996882187397755"
[1] "18870 r: adjusted r2 = 0.997452636893774"
full_conc$Conc[!is.na(full_conc$Dilution)&full_conc$Dilution>0] = full_conc$Conc[!is.na(full_conc$Dilution)&full_conc$Dilution>0] *1/full_conc$Dilution[!is.na(full_conc$Dilution)&full_conc$Dilution>0]
full_conc$Treatment[full_conc$Treatment=="aa"]<-"Anoxic"
full_conc$Treatment[full_conc$Treatment=="oo"]<-"Oxic"
full_conc$Treatment[full_conc$Treatment=="oa"]<-"Oxic to anoxic"
full_conc$Treatment[full_conc$Treatment=="ao"]<-"Anoxic to oxic"
fer = full_conc
fer$filt[fer$filt=="s"]<-"Filtered"
fer$filt[fer$filt=="t"]<-"Unfiltered"
fer$Status <- "Oxic"
fer$Status[fer$Treatment %in%c("Anoxic to oxic","Anoxic")]<- "Anoxic"
write.csv(fer,"../data/processed_data/acidified_Fe_formatted.csv", row.names = F)
full_conc$Treatment[full_conc$Treatment=="Anoxic to oxic"&full_conc$Sample_day<=13]<-"Anoxic"
full_conc$Treatment[full_conc$Treatment=="Oxic to anoxic"&full_conc$Sample_day<=13]<-"Oxic"
f = fer%>%
filter(!is.na(Treatment))%>%
ggplot(aes(x = Sample_day, y = Conc/1000, color = Treatment, shape = as.factor(Rep)))+
geom_point()+
ylab("Fe (mg/L)")+
geom_vline(xintercept = 13.5)+
scale_color_manual(values = c("#175676","#D58936","#A44200","#4BA3C3")) +
facet_grid(Status~filt)+
theme_bw()
f

library(plotly)
ggplotly(f)
fer%>%
filter(Treatment == "Oxic to anoxic",
Sample_day == 34)
full%>%
filter(Treatment == "ao",filt == "t", Sample_day == 23)%>%
arrange(Rep)
## A couple samples were analyzed on both the 9th and the 7th: oar2d9t
## missing: aar2d6s
## oor1s could be oor1d16s
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmxpYnJhcnkocmVhZHhsKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKCnNlcDAyIDwtIHJlYWQuY3N2KCIuLi9kYXRhL2NsZWFuX2RhdGEvZXhwX3dhdGVyXzAyU2VwMjEuY3N2IiklPiUKICBtdXRhdGUoRGF5ID0gYXMuRGF0ZSgiMjAyMS0wOS0wMiIpKQpzZXAwNyA8LSByZWFkLmNzdigiLi4vZGF0YS9jbGVhbl9kYXRhL2V4cF93YXRlcl8wN1NlcDIxLmNzdiIpJT4lCiAgbXV0YXRlKERheSA9IGFzLkRhdGUoIjIwMjEtMDktMDciKSkKc2VwMDggPC0gcmVhZC5jc3YoIi4uL2RhdGEvY2xlYW5fZGF0YS9leHBfd2F0ZXJfMDhTZXAyMS5jc3YiKSU+JQogIG11dGF0ZShEYXkgPSBhcy5EYXRlKCIyMDIxLTA5LTA4IikpCnNlcDA5IDwtIHJlYWQuY3N2KCIuLi9kYXRhL2NsZWFuX2RhdGEvZXhwX3dhdGVyXzA5U2VwMjEuY3N2IiklPiUKICBtdXRhdGUoRGF5ID0gYXMuRGF0ZSgiMjAyMS0wOS0wOSIpKQphdWczMSA8LSByZWFkLmNzdigiLi4vZGF0YS9jbGVhbl9kYXRhL2V4cF93YXRlcl8zMUF1ZzIxLmNzdiIpJT4lCiAgbXV0YXRlKERheSA9IGFzLkRhdGUoIjIwMjEtMDgtMzEiKSkKCmZ1bGwgPSBzZXAwMiU+JQogIGZ1bGxfam9pbihzZXAwNyklPiUKICBmdWxsX2pvaW4oc2VwMDgpJT4lCiAgZnVsbF9qb2luKHNlcDA5KSU+JQogIGZ1bGxfam9pbihhdWczMSklPiUKICBzZWxlY3QoLUNvbW1lbnRzLC1UeXBlKSU+JQogIGZpbHRlcighZ3JlcGwoInNwa3xkdXAiLFNhbXBsZS5JRCkpCgpmdWxsW2Z1bGwkU2FtcGxlLklEPT0iYW9yMmQ2cyIsXQoKZnVsbCRUeXBlID0gIlVua25vd24iCmZ1bGwkVHlwZVtncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXTwtIlN0YW5kYXJkIgpmdWxsJENvbmNbZ3JlcGwoInN0ZCIsIGZ1bGwkU2FtcGxlLklEKV0gPSBhcy5udW1lcmljKHN1Yigic3RkIiwiIixmdWxsJFNhbXBsZS5JRFtncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXSkpCmZ1bGwkVHJlYXRtZW50WyFncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXSA8LSBzdWJzdHIoZnVsbCRTYW1wbGUuSURbIWdyZXBsKCJzdGQiLCBmdWxsJFNhbXBsZS5JRCldLDEsMikKZnVsbCRTYW1wbGVfZGF5WyFncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXSA8LSBhcy5udW1lcmljKHN1YigiW2Etel0rWzAtOV0rZCIsIiIsc3ViKCIoW2Etel0oXy4rKSokKSIsIiIsZnVsbCRTYW1wbGUuSURbIWdyZXBsKCJzdGQiLCBmdWxsJFNhbXBsZS5JRCldKSkpCmZ1bGwkUmVwWyFncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXSA8LSBhcy5udW1lcmljKHN1YnN0cihmdWxsJFNhbXBsZS5JRFshZ3JlcGwoInN0ZCIsIGZ1bGwkU2FtcGxlLklEKV0sNCw0KSkKZnVsbCRmaWx0WyFncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXSA8LSBzdWIoIlthLXpdK1swLTldK1thLXpdK1swLTldKyIsIiIsc3ViKCJfLisiLCIiLGZ1bGwkU2FtcGxlLklEWyFncmVwbCgic3RkIiwgZnVsbCRTYW1wbGUuSUQpXSkpCmZ1bGwkRGlsdXRpb25baXMubmEoZnVsbCREaWx1dGlvbildPC0wCmZ1bGxfY29uYyA9IGZ1bGwlPiUKICBmaWx0ZXIoVHlwZSE9IlN0YW5kYXJkIiwKICAgICAgICAgIWR1cGxpY2F0ZWQoU2FtcGxlLklEKSklPiUKICBmaWx0ZXIoU2FtcGxlX2RheSAhPSAwKSU+JQogIHNlbGVjdCgtU2FtcGxlLklELCAtQ29uYykKCmZvcihkYXkgaW4gdW5pcXVlKGZ1bGwkRGF5KSl7CiAgaWYoZGF5ID09IGFzLkRhdGUoIjIwMjEtMDktMDciKSl7CiAgICByID0gZnVsbCU+JQogICAgICBmaWx0ZXIoRGF5ID09IGRheSkKICB9ZWxzZXsKICAgIHIgPSBmdWxsJT4lCiAgICAgIGZpbHRlcihEYXkgPT0gZGF5LAogICAgICAgICAgICAgQ29uYyAhPSAxMTg1LjgpCiAgfQogIGNvZWYgPSBsbShyJENvbmN+MCtyJFdMNTYyKQogIHN1bSA9IHN1bW1hcnkoY29lZikKICBwcmludChwYXN0ZTAoZGF5LCIgcjogYWRqdXN0ZWQgcjIgPSAiLHN1bSRhZGouci5zcXVhcmVkKSkKICAKICBmdWxsX2NvbmMkQ29uYyA8LSBjb2VmJGNvZWZmaWNpZW50cypmdWxsX2NvbmMkV0w1NjIKfQoKZnVsbF9jb25jJENvbmNbIWlzLm5hKGZ1bGxfY29uYyREaWx1dGlvbikmZnVsbF9jb25jJERpbHV0aW9uPjBdID0gZnVsbF9jb25jJENvbmNbIWlzLm5hKGZ1bGxfY29uYyREaWx1dGlvbikmZnVsbF9jb25jJERpbHV0aW9uPjBdICoxL2Z1bGxfY29uYyREaWx1dGlvblshaXMubmEoZnVsbF9jb25jJERpbHV0aW9uKSZmdWxsX2NvbmMkRGlsdXRpb24+MF0KCmZ1bGxfY29uYyRUcmVhdG1lbnRbZnVsbF9jb25jJFRyZWF0bWVudD09ImFhIl08LSJBbm94aWMiCmZ1bGxfY29uYyRUcmVhdG1lbnRbZnVsbF9jb25jJFRyZWF0bWVudD09Im9vIl08LSJPeGljIgpmdWxsX2NvbmMkVHJlYXRtZW50W2Z1bGxfY29uYyRUcmVhdG1lbnQ9PSJvYSJdPC0iT3hpYyB0byBhbm94aWMiCmZ1bGxfY29uYyRUcmVhdG1lbnRbZnVsbF9jb25jJFRyZWF0bWVudD09ImFvIl08LSJBbm94aWMgdG8gb3hpYyIKCmZlciA9IGZ1bGxfY29uYwpmZXIkZmlsdFtmZXIkZmlsdD09InMiXTwtIkZpbHRlcmVkIgpmZXIkZmlsdFtmZXIkZmlsdD09InQiXTwtIlVuZmlsdGVyZWQiCgpmZXIkU3RhdHVzIDwtICJPeGljIgpmZXIkU3RhdHVzW2ZlciRUcmVhdG1lbnQgJWluJWMoIkFub3hpYyB0byBveGljIiwiQW5veGljIildPC0gIkFub3hpYyIKCndyaXRlLmNzdihmZXIsIi4uL2RhdGEvcHJvY2Vzc2VkX2RhdGEvYWNpZGlmaWVkX0ZlX2Zvcm1hdHRlZC5jc3YiLCByb3cubmFtZXMgPSBGKQoKZnVsbF9jb25jJFRyZWF0bWVudFtmdWxsX2NvbmMkVHJlYXRtZW50PT0iQW5veGljIHRvIG94aWMiJmZ1bGxfY29uYyRTYW1wbGVfZGF5PD0xM108LSJBbm94aWMiCmZ1bGxfY29uYyRUcmVhdG1lbnRbZnVsbF9jb25jJFRyZWF0bWVudD09Ik94aWMgdG8gYW5veGljIiZmdWxsX2NvbmMkU2FtcGxlX2RheTw9MTNdPC0iT3hpYyIKCmYgPSBmZXIlPiUKICBmaWx0ZXIoIWlzLm5hKFRyZWF0bWVudCkpJT4lCiAgZ2dwbG90KGFlcyh4ID0gU2FtcGxlX2RheSwgeSA9IENvbmMvMTAwMCwgY29sb3IgPSBUcmVhdG1lbnQsIHNoYXBlID0gYXMuZmFjdG9yKFJlcCkpKSsKICBnZW9tX3BvaW50KCkrCiAgeWxhYigiRmUgKG1nL0wpIikrCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gMTMuNSkrCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoIiMxNzU2NzYiLCIjRDU4OTM2IiwiI0E0NDIwMCIsIiM0QkEzQzMiKSkgKwogIGZhY2V0X2dyaWQoU3RhdHVzfmZpbHQpKwogIHRoZW1lX2J3KCkKCmYKCmxpYnJhcnkocGxvdGx5KQpnZ3Bsb3RseShmKQoKZmVyJT4lCiAgZmlsdGVyKFRyZWF0bWVudCA9PSAiT3hpYyB0byBhbm94aWMiLAogICAgICAgICBTYW1wbGVfZGF5ID09IDM0KQoKZnVsbCU+JQogIGZpbHRlcihUcmVhdG1lbnQgPT0gImFvIixmaWx0ID09ICJ0IiwgU2FtcGxlX2RheSA9PSAyMyklPiUKICBhcnJhbmdlKFJlcCkKCiMjIEEgY291cGxlIHNhbXBsZXMgd2VyZSBhbmFseXplZCBvbiBib3RoIHRoZSA5dGggYW5kIHRoZSA3dGg6IG9hcjJkOXQKIyMgbWlzc2luZzogYWFyMmQ2cwojIyBvb3IxcyBjb3VsZCBiZSBvb3IxZDE2cwoKYGBgCgo=